// 这个文件用于检查TaskManagement.vue是否有语法错误
import { readFileSync } from 'fs';
import { join } from 'path';

// 尝试读取文件以检查是否存在基本问题
try {
    const __dirname = import.meta.dirname;
    const filePath = join(__dirname, 'src', 'views', 'TaskManagement.vue');
    const content = readFileSync(filePath, 'utf8');
    console.log('文件读取成功，长度:', content.length);
  
  // 检查script标签的开闭
  const scriptStart = content.indexOf('<script>');
  const scriptEnd = content.lastIndexOf('</script>');
  console.log('Script标签位置:', scriptStart, scriptEnd);
  
  if (scriptStart === -1 || scriptEnd === -1) {
    console.error('缺少script标签！');
  }
  
  // 检查template标签的开闭
  const templateStart = content.indexOf('<template>');
  const templateEnd = content.lastIndexOf('</template>');
  console.log('Template标签位置:', templateStart, templateEnd);
  
  if (templateStart === -1 || templateEnd === -1) {
    console.error('缺少template标签！');
  }
  
  // 检查style标签的开闭
  const styleStart = content.indexOf('<style');
  const styleEnd = content.lastIndexOf('</style>');
  console.log('Style标签位置:', styleStart, styleEnd);
  
  if (styleStart === -1 || styleEnd === -1) {
    console.error('缺少style标签！');
  }
  
} catch (error) {
  console.error('读取文件时出错:', error);
}

// 尝试使用简单的正则表达式检查括号匹配
function checkBrackets(content) {
  const brackets = '{}[]()';
  const stack = [];
  
  for (let i = 0; i < content.length; i++) {
    const char = content[i];
    const index = brackets.indexOf(char);
    
    if (index !== -1) {
      if (index % 2 === 0) {
        // 开括号
        stack.push({ char, index, position: i });
      } else {
        // 闭括号
        if (stack.length === 0) {
          return { valid: false, message: `未匹配的闭括号 '${char}' 在位置 ${i}` };
        }
        
        const last = stack.pop();
        if (last.index + 1 !== index) {
          return { valid: false, message: `括号不匹配: '${last.char}' 在位置 ${last.position} 与 '${char}' 在位置 ${i}` };
        }
      }
    }
  }
  
  if (stack.length > 0) {
    const last = stack[stack.length - 1];
    return { valid: false, message: `未匹配的开括号 '${last.char}' 在位置 ${last.position}` };
  }
  
  return { valid: true };
}

// 运行括号检查
try {
  const __dirname = import.meta.dirname;
  const filePath = join(__dirname, 'src', 'views', 'TaskManagement.vue');
  const content = readFileSync(filePath, 'utf8');
  const scriptContent = content.substring(content.indexOf('<script>') + 8, content.lastIndexOf('</script>'));
  const result = checkBrackets(scriptContent);
  console.log('括号检查结果:', result);
} catch (error) {
  console.error('括号检查时出错:', error);
}